type Op[A, X] = X => A